CS236 Deep Generative Models Lecture 2
课程主页:https://deepgenerativemodels.github.io/
课件资料:https://github.com/Subhajit135/CS236_DGM,https://github.com/deepgenerativemodels/notes
视频地址:https://www.bilibili.com/video/av81625948?from=search&seid=4636291486683332935
这里回顾CS236 Lecture 2的课程内容,这一讲简单介绍了Representation。
Representation
学习生成模型
- 我们给定了一组训练样本,例如狗的图片
- 我们希望学习关于图像$x$的概率分布$p(x)$,使得我们可以进行如下任务:
- 生成:如果我们进行采样$x_{\text{new}} \sim p(x)$,那么$x_{\text{new}}$应该看起来像狗
- 密度估计:如果$x$像狗,那么$p(x)$应该较大;如果不像狗,$p(x)$应该比较小
- 无监督表示学习:我们应该能够学习图像的共同特点(特征),例如耳朵,尾巴
- 第一个问题:如何表示$p(x)$
联合概率分布的例子
考虑灰度图像的概率分布:$x_{1}, \ldots, x_{n}$为伯努利随机标量,那么一共有$2^n$个状态。假设我们从$p(x_1,\ldots, x_n)$生成图像,那么一共需要的参数数量为
显然这样需要的参数太多,需要进行一些模型假设来减少参数。
独立性
如果$X_1,\ldots, X_n$独立,那么
所以这样只需要$n$个参数,但是该假设过于强,容易生成随机图像:
条件独立性
给定事件$C$,事件$A,B$条件独立,如果
给定随机变量$Z$,随机变量$X,Y$条件独立,如果对于$x \in \operatorname{Val}(X), y \in \operatorname{Val}(Y), z \in \operatorname{Val}(Z)$,我们有
记成
重要性质
链式法则:假设$S_{1}, \ldots S_{n}$为事件,$p\left(S_{i}\right)>0$
贝叶斯法则:假设$S_1,S_2$为事件,$p\left(S_{i}\right)>0$
条件独立性带来的结构
由链式法则,我们有
注意这样的参数数量依然很多,为
现在假设
那么
这样只需要$2n-1$个参数
贝叶斯网络
条件独立的推广为贝叶斯网络,定义如下:
贝叶斯网络由有向无环图$G=(V,E)$指定:
- 每个随机变量$X_i$对应一个节点$i\in V$
- 条件概率$p\left(x_{i} | \mathbf{x}_{\mathrm{Pa}(i)}\right)$指定关于父节点的条件概率
图$G=(V,E)$被称为贝叶斯网络的结构
定义联合概率:
考虑一个具体例子:
那么联合概率为
注意利用链式法则,我们有恒等式
所以
将上述内容推广得到如下结论:
对每个节点$X_v$,在给定其父节点的条件下,$X_v$条件独立于$X_v$的非子孙节点。
简略证明,按照拓扑排序的顺序进行链式分解:
然后和
进行比较即可。
生成模型VS判别模型
判别模型是在给定$X$的条件下,计算$p(Y|X)$,所以不需要对$p(X)$建模,来看一个示意图:
注意$X$为随机向量,将上图打开可得
进行链式分解可得
我们必须做出如下选择:
- 在生成模型中,$p(Y)$很简单,但是我们该如何对$p\left(X_{i} | \mathbf{X}_{\text{pa}(i)}, Y\right)$进行参数化
- 在判别模型中,我们如何对$p(Y|X)$进行参数化
后面来看几个具体例子:
朴素贝叶斯
朴素贝叶斯假设$X_{i} \perp X_{-i} | Y$
$X_1,\ldots,X_n$为特征,$Y$为标签,朴素贝叶斯思想假设为给定$Y$,$X_i$条件独立,那么
那么根据贝叶斯公式,我们有
Logistic回归
其中